package attori.model;

import gui.houseeditor.HouseModel;
import gui.houseeditor.HouseModel.HouseObject;

import java.util.Observable;

public class Stanza extends Observable {
	/*
	 * parametri relativi ai pixel che identificano la stanza???
	 */
	private int temperatura;
	private int volumeIniziale;
	private int volumeAttuale;
	private HouseModel modello;
	private int rigaInizio;
	private int rigaFine;
	private int colonnaInizio;
	private int colonnaFine;

	public Stanza(int temperatura, int volumeIniziale, int volumeAttuale,
			HouseModel modello, int rigaInizio, int rigaFine,
			int colonnaInizio, int colonnaFine) {
		super();
		this.temperatura = temperatura;
		this.volumeIniziale = volumeIniziale;
		this.volumeAttuale = volumeAttuale;
		this.modello = modello;
		this.rigaInizio = rigaInizio;
		this.rigaFine = rigaFine;
		this.colonnaInizio = colonnaInizio;
		this.colonnaFine = colonnaFine;
	}

	public int getTemperatura() {
		return temperatura;
	}

	public void setTemperatura(int temperatura) {
		this.temperatura = temperatura;
	}

	public int getVolumeIniziale() {
		return volumeIniziale;
	}

	public void setVolumeIniziale(int volumeIniziale) {
		this.volumeIniziale = volumeIniziale;
	}

	public int getVolumeAttuale() {
		return volumeAttuale;
	}

	public void setVolumeAttuale(int volumeAttuale) {
		this.volumeAttuale = volumeAttuale;
	}

	public HouseModel getModello() {
		return modello;
	}

	public void setModello(HouseModel modello) {
		this.modello = modello;
	}

	public int getRigaInizio() {
		return rigaInizio;
	}

	public void setRigaInizio(int rigaInizio) {
		this.rigaInizio = rigaInizio;
	}

	public int getRigaFine() {
		return rigaFine;
	}

	public void setRigaFine(int rigaFine) {
		this.rigaFine = rigaFine;
	}

	public int getColonnaInizio() {
		return colonnaInizio;
	}

	public void setColonnaInizio(int colonnaInizio) {
		this.colonnaInizio = colonnaInizio;
	}

	public int getColonnaFine() {
		return colonnaFine;
	}

	public void setColonnaFine(int colonnaFine) {
		this.colonnaFine = colonnaFine;
	}

	public void accendiLuce() {

		for (int i = rigaInizio; i <=rigaFine; i++) {
			for (int j = colonnaInizio; j < colonnaFine; j++) {
				if (modello.getCell(i, j) == HouseObject.LAMPADINA_SPENTA) {
					modello.setCell(HouseObject.LAMPADINA_ACCESA, i, j);
				}
			}
		}
	}

	public void spegniLuce() {

		for (int i = rigaInizio; i <= rigaFine; i++) {
			for (int j = colonnaInizio; j < colonnaFine; j++) {
				if (modello.getCell(i, j) == HouseObject.LAMPADINA_ACCESA) {
					modello.setCell(HouseObject.LAMPADINA_SPENTA, i, j);
				}
			}
		}
	}
}
